/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.article.jsonfactory;

import com.article.jsontools.JSONArray;
import com.article.jsontools.JSONObject;
import java.util.List;

/**
 * 
 * @author Tsingheng
 */
@SuppressWarnings("unchecked")
public class ConvertJsonUtils {

	/**
	 * 将泛型集合转换为分页Json数据
	 * 
	 * @param list
	 *            该集合为某一页数据
	 * @param totalCount
	 *            所有数据总数
	 * @return
	 */
	public static String convertListToPageJson(List list, int totalCount) {
		// 新建一个json数组
		JSONArray jsonArray = new JSONArray();
		// 新建一个json对象
		JSONObject jsonObject;
		String json = "";
		Object obj;
		// 如果集合不为空则遍历集合
		if (list != null) {
			while (!list.isEmpty()) {
				obj = list.remove(0);
				jsonObject = new JSONObject(obj);
				jsonArray.put(jsonObject);
			}
			// 数据格式转换
			json = jsonArray.toString();
		}
		// 拼接字符串
		StringBuilder sb = new StringBuilder();
		sb.append("{\"totalCount\":");
		sb.append(totalCount);
		sb.append(",\"rows\":");
		sb.append(json);
		sb.append("}");
		String jsonString = sb.toString();
		return jsonString;
	}

	/**
	 * 将集合转换为json数据
	 * 
	 * @param list
	 * @return
	 */
	public static String convertListToJson(List list) {
		// 新建一个json数组
		JSONArray jsonArray = new JSONArray();
		// 新建一个json对象
		JSONObject jsonObject;
		String json = "";
		Object obj;
		// 如果集合不为空则遍历集合
		if (list != null) {
			while (!list.isEmpty()) {
				obj = list.remove(0);
				jsonObject = new JSONObject(obj);
				jsonArray.put(jsonObject);
			}
			// 数据格式转换
			json = jsonArray.toString();
		}
		return json;
		/**
		// 拼接字符串
		StringBuilder sb = new StringBuilder();
		sb.append("{\"rows\":");
		sb.append(json);
		sb.append("}");
		String jsonString = sb.toString();
		return jsonString;
		*/
	}
}
